﻿namespace MyCSharpWork1
{
    internal class Program
    {
        /// <summary>
        /// 字符小游戏
        /// </summary>
        /// <param name="args"></param>            
        public static void Main(string[] args)
        {
            //定义变量行和列
            int left = 0;
            int top = 0;
            //给使用者的介绍
            Console.WriteLine("Hello!");
            Console.Write("按空格结束程序");
            //设置初始位置
            Console.SetCursorPosition(left, top);
            //得到输入的值,并实现类型转换
            var input = Console.ReadKey().KeyChar;
            while (input!=' ')
            {
                //清空界面
                Console.Clear();
                //用switch匹配wasd移动光标
                switch (input)
                {
                    //向上
                    case 'W':
                    case 'w':
                        //限制移动范围
                        top--;
                        if (top<0)
                            top=0;
                        //移动光标，即下一个要输出的位置
                        Console.SetCursorPosition(left, top);
                        //输出Hello!
                        Console.Write("Hello!");
                        break;
                    //向左
                    case 'A':
                    case 'a':
                        left--;
                        if (left<0)
                            left=0;
                        Console.SetCursorPosition(left, top);
                        Console.Write("Hello!");
                        break;
                    //向下
                    case 'S':
                    case 's':
                        top++;
                        if (top>100) break;
                        Console.SetCursorPosition(left, top);
                        Console.Write("Hello!");
                        break;
                    //向右
                    case 'D':
                    case 'd':
                        left++;
                        if (left>100) break;
                        Console.SetCursorPosition(left, top);
                        Console.Write("Hello!");
                        break;
                    //输入非指令
                    default:
                        Console.WriteLine("输入有误");
                        break;
                }
                input = Console.ReadKey().KeyChar;
            }
        }
    }
}